blktap2: fix makefile of blktap2
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 28 May 2009 09:02:57 +0000 (10:02 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 28 May 2009 09:02:57 +0000 (10:02 +0100)
- clean up to use SUBDIRS-y
- With parallel make, libvhd might not be created before
  link. guarantee it.
- use LDFLAGS for link which is set by upper level makefiles.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
tools/blktap2/Makefile
tools/blktap2/daemon/Makefile
tools/blktap2/daemon/lib/Makefile
tools/blktap2/drivers/Makefile
tools/blktap2/lvm/Makefile
tools/blktap2/vhd/Makefile
tools/blktap2/vhd/lib/Makefile

index 20a9451fa1f5053d6fd543bcf1a5c3484f9ecdc3..64983a01e6dedcdedca323ee3ff936fe7473169a 100644 (file)
@@ -11,24 +11,8 @@ SUBDIRS-y += vhd
 SUBDIRS-y += drivers
 SUBDIRS-y += daemon
 
-.PHONY: all
-all: build
-
-.PHONY: build
-build:
-       @set -e; for subdir in $(SUBDIRS-y); do \
-       $(MAKE) -C $$subdir all;       \
-               done
-
-.PHONY: install
-install:
-       @set -e; for subdir in $(SUBDIRS-y); do \
-               $(MAKE) -C $$subdir install; \
-       done
-
-.PHONY: clean
 clean:
        rm -rf *.a *.so *.o *.rpm $(LIB) *~ $(DEPS) TAGS
-       @set -e; for subdir in $(SUBDIRS-y); do \
-       $(MAKE) -C $$subdir clean;       \
-               done
+
+.PHONY: all clean install
+all clean install: %: subdirs-%
index a7869b61b0b1d3bead0f036601037b9cfd509281..aedef967219baa1c8bf6c48ceb207afa6829e1b5 100644 (file)
@@ -2,11 +2,12 @@ XEN_ROOT=../../../
 BLKTAP_ROOT := ..
 include $(XEN_ROOT)/tools/Rules.mk
 
+SUBDIRS-y    :=
+SUBDIRS-y    += lib
+
 IBIN          = blktapctrl
 INST_DIR      = $(SBINDIR)
 
-LIBDIR        = lib
-
 LIBS         := -lxenstore
 LIBS         += -Llib
 LIBS         += -lblktap
@@ -31,25 +32,20 @@ CFLAGS       += -g
 CFLAGS       += -Wp,-MD,.$(@F).d
 DEPS          = .*.d
 
-all: libblktap $(IBIN)
-
-blktapctrl: tapdisk-daemon.c $(OBJS)
-       $(CC) $(CFLAGS) -o blktapctrl tapdisk-daemon.c $(LIBS) $(OBJS)
+all: $(IBIN)
 
-libblktap:
-       @set -e
-       $(MAKE) -C $(LIBDIR) all
+blktapctrl: tapdisk-daemon.c $(OBJS) subdir-all-lib
+       $(CC) $(CFLAGS) -o blktapctrl tapdisk-daemon.c $(LDFLAGS) $(LIBS) $(OBJS)
 
 install: all
-       $(MAKE) -C $(LIBDIR) install
        $(INSTALL_DIR) -p $(DESTDIR)$(INST_DIR)
        $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INST_DIR)
 
 clean:
-       $(MAKE) -C $(LIBDIR) clean
        rm -rf *.o *~ $(IBIN) $(DEPS) xen TAGS
 
-.PHONY: all clean install blktapctrl libblktap
+.PHONY: all clean install blktapctrl
+all clean install: %: subdirs-%
 
 -include $(DEPS)
 
index e4e289ab514f6e9406ca91f6bd00ccb3ba23bb8e..a90cba30bd935ce795ba8ed6dd8380c5097ac6fc 100644 (file)
@@ -55,7 +55,7 @@ clean:
 
 libblktap.a: $(OBJS) 
        $(CC) $(CFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,$(SONAME) $(SHLIB_CFLAGS) \
-             -o libblktap.so.$(MAJOR).$(MINOR) $^ $(LIBS)
+             $(LDFLAGS) -o libblktap.so.$(MAJOR).$(MINOR) $^ $(LIBS)
        ln -sf libblktap.so.$(MAJOR).$(MINOR) libblktap.so.$(MAJOR)
        ln -sf libblktap.so.$(MAJOR) libblktap.so
        $(AR) rc $@ libblktap.so
index 90cd6beca99f5ddbbd65f15a30b08b34e7932c73..7304011846904b7830f471f40968971281a9730a 100644 (file)
@@ -72,28 +72,28 @@ BLK-OBJS-y  += aes.o
 all: $(IBIN) lock-util qcow-util
 
 tapdisk: $(TAP-OBJS-y) $(BLK-OBJS-y) $(MISC-OBJS-y) tapdisk.c
-       $(CC) $(CFLAGS) -o $@ $^ $(LIBS) $(AIOLIBS)  $(LDFLAGS_img)
+       $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) $(AIOLIBS)  $(LDFLAGS_img)
 
 tapdisk2: $(TAP-OBJS-y) $(BLK-OBJS-y) $(MISC-OBJS-y) tapdisk2.c
-       $(CC) $(CFLAGS) -o $@ $^ $(LIBS) $(AIOLIBS) $(LDFLAGS_img)
+       $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) $(AIOLIBS) $(LDFLAGS_img)
 
 tapdisk-client: tapdisk-client.o
-       $(CC) $(CFLAGS) -o $@ $^ $(LIBS)  $(LDFLAGS_img)
+       $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS)  $(LDFLAGS_img)
 
 tapdisk-stream tapdisk-diff: %: %.o $(TAP-OBJS-y) $(BLK-OBJS-y)
-       $(CC) $(CFLAGS) -o $@ $^ $(LIBS) $(AIOLIBS)  $(LDFLAGS_img)
+       $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) $(AIOLIBS)  $(LDFLAGS_img)
 
 td-util: td.o tapdisk-utils.o tapdisk-log.o
-       $(CC) $(CFLAGS) -o $@ $^ $(LIBS)  $(LDFLAGS_img)
+       $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS)  $(LDFLAGS_img)
 
 lock-util: lock.c
-       $(CC) $(CFLAGS) -DUTIL -o lock-util lock.c $(LIBS)
+       $(CC) $(CFLAGS) -DUTIL -o lock-util lock.c $(LDFLAGS) $(LIBS)
 
 .PHONY: qcow-util
 qcow-util: img2qcow qcow2raw qcow-create
 
 img2qcow qcow2raw qcow-create: %: %.o $(TAP-OBJS-y) $(BLK-OBJS-y)
-       $(CC) $(CFLAGS) -o $@ $^ $(LIBS) $(AIOLIBS) $(LDFLAGS_img)
+       $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) $(AIOLIBS) $(LDFLAGS_img)
 
 install: all
        $(INSTALL_DIR) -p $(DESTDIR)$(INST_DIR)
index 3a726d7c8b2630740418987894c973583c3f2813..2077423d51bf83014181fe92bb9c53a61479965a 100644 (file)
@@ -28,7 +28,7 @@ build: $(TEST) $(LVM-OBJS)
 install: all
 
 lvm-util: lvm-util.o
-       $(CC) $(CFLAGS) -DLVM_UTIL -o lvm-util lvm-util.c
+       $(CC) $(CFLAGS) -DLVM_UTIL $(LDFLAGS) -o lvm-util lvm-util.c
 
 clean:
        rm -rf *.o *~ $(DEPS) $(IBIN)
index 099a0baca76f0f1abc84288190ba6befee4a46ab..fc0565e14f8cb7797d7ff1cd51d0733b73655af9 100644 (file)
@@ -2,11 +2,12 @@ XEN_ROOT=../../../
 BLKTAP_ROOT := ../
 include $(XEN_ROOT)/tools/Rules.mk
 
+SUBDIRS-y         :=
+SUBDIRS-y         += lib
+
 IBIN               = vhd-util vhd-update
 INST_DIR           = $(SBINDIR)
 
-LIBDIR             = lib
-
 CFLAGS            += -Werror
 CFLAGS            += -Wno-unused
 CFLAGS            += -I../include
@@ -20,7 +21,7 @@ ifeq ($(VHD_STATIC),y)
 CFLAGS            += -static
 endif
 
-LIBS              := -L$(LIBDIR) -lvhd
+LIBS              := -Llib -lvhd
 LIBS              += -luuid
 
 # Get gcc to generate the dependencies for us.
@@ -29,27 +30,22 @@ DEPS               = .*.d
 
 all: build
 
-build: libvhd $(IBIN)
-
-libvhd:
-       @set -e
-       $(MAKE) -C $(LIBDIR) all
+build: $(IBIN)
 
-vhd-util: vhd-util.o
-       $(CC) $(CFLAGS) -o vhd-util vhd-util.o $(LIBS)
+vhd-util: vhd-util.o subdir-all-lib
+       $(CC) $(CFLAGS) -o vhd-util vhd-util.o $(LDFLAGS) $(LIBS)
 
-vhd-update: vhd-update.o
-       $(CC) $(CFLAGS) -o vhd-update vhd-update.o $(LIBS)
+vhd-update: vhd-update.o subdir-all-lib
+       $(CC) $(CFLAGS) -o vhd-update vhd-update.o $(LDFLAGS) $(LIBS)
 
 install: all
-       $(MAKE) -C $(LIBDIR) install
        $(INSTALL_DIR) -p $(DESTDIR)$(INST_DIR)
        $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INST_DIR)
 
 clean:
-       $(MAKE) -C $(LIBDIR) clean
        rm -rf *.o *~ $(DEPS) $(IBIN)
 
-.PHONY: all build clean install libvhd vhd-util vhd-update
+.PHONY: all build clean install vhd-util vhd-update
+all clean install: %: subdirs-%
 
 -include $(DEPS)
index e26ef8640319ced562e88e093a85fbe3a83447f5..c768a1ac4d63d3b3da31ab844f30c24fac3ec6bb 100644 (file)
@@ -54,7 +54,7 @@ build: $(LIBVHD-BUILD)
 
 libvhd.a: $(LIB-OBJS)
        $(CC) $(CFLAGS) -Wl,$(SONAME_LDFLAG),$(LIBVHD-SONAME) $(SHLIB_CFLAGS) \
-               -o libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(LIBS) $^
+               $(LDFLAGS) -o libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(LIBS) $^
        ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) libvhd.so.$(LIBVHD-MAJOR)
        ln -sf libvhd.so.$(LIBVHD-MAJOR) libvhd.so
        $(AR) rc $@ $^